<!DOCTYPE html>
<html lang="en">
<head>
  <title>发布、订阅</title>
</head>
<body>
  <p>题目：使用 ECMAScript（JS）代码实现一个事件类Event，包含下面功能：绑定事件、解绑事件和派发事件。
</p>
<script>
  const Event = function() {
    this.obj = {}
  }
  Event.prototype.on = function(event, fn) {
    if (!this.obj[event]) {
      this.obj[event] = []
    }
    if (!~this.obj[event].indexOf(fn)) {
      this.obj[event].push(fn)
    }
  }
  Event.prototype.emit = function(event) {
    this.obj[event] && this.obj[event].forEach(fn => fn())
  }
  Event.prototype.unbinding = function(event) {
    this.obj[event] = null
  }
</script>
</body>
</html>